#include <bits/stdc++.h>
#define ll long long
using namespace std;

const int maxn=(1<<9)+50;
long long f[maxn][maxn][100];
int Lowbit(int x){
	return x & -x;
}
int count(int x){
	int cnt=0;
	while(Lowbit(x)!=0){
		cnt++;
		x-=Lowbit(x);
	}
	return cnt;
}

int main(){
	int n,m;cin>>n>>m;
	long long ans=0;
	int maxs=1<<n;
	f[0][0][0]=1;
	for(int i=1;i<=n;i++){
		for(int S=0;S<maxs;S++){
			int cnt=count(S);
			if(S&(S<<1))continue;
			for(int s=0;s<maxs;s++){
				if(S&s||(S<<1)&s||(S>>1)&s)continue;
				for(int k=0;k<=m-cnt;k++){
					f[i][S][k+cnt]+=f[i-1][s][k];
				}
			}
		}
	}
	for(int i=0;i<maxs;i++){
		ans+=f[n][i][m];
	}
	printf("%lld\n",ans);
	return 0;
}
